define([ 'mmRouter', 'config', "app/module/view.js", 'wrapper',
		'cache' ], function(mmRoute, config, menuView, wrapper, cache) {
	/*
	 * 加载jqery包装生成的组件
	 */

	wrapper.wrap('loading', "<div></div>", function(vm, el) {
		var target = $(el);
		if (target.hasClass('loading'))
			return;

		$(el).loadingOverlay();
	});

	
		
	// 定义主vm
	var model = avalon.define({
		$id : "content-main",
		initcomplete : false, // 是否初始化完成
		isLogin : false,
		curMenu : "",
		params : {},
		query : {},
		switchMenu : function() {
			model.curMenu = this.path;
			model.params  =  this.params;
            model.query = this.query;
		},
		render : function() {
			// 初始化路由表
			var paths = config.pathMap.keys;
			if (paths && paths.length > 0) {
				for (var i = 0; i < paths.length; i++) {
					avalon.router.get(paths[i], model.switchMenu);
				}
				;
				avalon.log('info init Router OK')
			}
			avalon.history.start();
		}
	});
	// 监听当前的菜单，切换对应的视图
	model.$watch('curMenu', function(newval, oldval) {
		avalon.vmodels['menuView'].loadView(newval);
	})
	// 加载菜单
	model.render();

	return model;
});